package controller

import "time"

type loginRequest struct {
	UserName string `json:"username" binding:"required"`
	PassWord string `json:"password" binding:"required"`
}

type loginRespone struct {
	Code  string `json:"code"`
	Msg   string `json:"msg"`
	Token string `json:"token"`
}

type TaskListRequest struct {
	Page   int64  `json:"page" binding:"required"`
	Limit  int64  `json:"limit" binding:"required"`
	Type   int64  `json:"type" `
	State  int64  `json:"state"`
	Serach string `json:"serach"`
}

type TaskListData struct {
	Name    string   `json:"name"`    //任务名称
	Machine string   `json:"machine"` //机器人
	Crons   string   `json:"crons"`   //任务表达式 时间格式
	People  []string `json:"people"`  //通知人列表
	State   int64    `json:"state"`   //任务状态
	Type    int64    `json:"type"`    //任务类型 1-ping 2 数据库 3 ...
	Url     string   `json:"url"`
}

type TaskListRespone struct {
	Code  int            `json:"code"`
	Msg   string         `json:"msg"`
	Count int64          `json:"count"`
	Data  []TaskListData `json:"data"`
}

type TaskAddRequest struct {
	Name    string   `json:"name" binding:"required"`   //任务名称
	Machine string   `json:"machine"`                   //机器人
	Crons   string   `json:"crons" binding:"required"`  //任务表达式 时间格式
	People  []string `json:"people" binding:"required"` //通知人列表
	State   int64    `json:"state" `                    //任务状态
	Type    int64    `json:"type" `                     //任务类型 1-ping 2 数据库 3 ...
	Url     string   `json:"url" binding:"required"`
}

type TaskUpRequest struct {
	Name    string   `json:"name" binding:"required"`   //任务名称
	Machine string   `json:"machine"`                   //机器人
	Crons   string   `json:"crons" binding:"required"`  //任务表达式 时间格式
	People  []string `json:"people" binding:"required"` //通知人列表
	State   int64    `json:"state" `                    //任务状态
	Type    int64    `json:"type" `                     //任务类型 1-ping 2 数据库 3 ...
	Url     string   `json:"url" binding:"required"`
}

type TaskStateRequest struct {
	Name  string `json:"name" binding:"required"`  //任务名称
	State int64  `json:"state" binding:"required"` //任务状态

}

type LogListRequest struct {
	Page   int64  `json:"page" binding:"required"`
	Limit  int64  `json:"limit" binding:"required"`
	Serach string `json:"search"`
}

type LogListData struct {
	TaskName  string    `json:"task_name"`  //任务ID
	AddTime   time.Time `json:"add_time"`   //执行时间
	Consuming int64     ` json:"consuming"` //耗时
	Result    string    `json:"result"`     //任务结果
}

type LogListRespon struct {
	Code  int           `json:"code"`
	Msg   string        `json:"msg"`
	Count int64         `json:"count"`
	Data  []LogListData `json:"data"`
}
